using System;
using System.Collections.Generic;
using System.Text;

namespace Xeml.Document
{
    public class XemlComponentLoadFailedException : Exception
    {
        private Guid componentId;
        public Guid ComponentId
        {
            get { return componentId; }
        }

        private string uri;

        public string Uri
        {
            get { return uri; }
        }


        public XemlComponentLoadFailedException(Guid componentId, string message, Exception innerException)
            : base(message,innerException)
        {
            this.componentId = componentId;
        }

        public XemlComponentLoadFailedException(Guid componentId, string message)
            : this(message)
        {
            this.componentId = componentId;
        }


        public XemlComponentLoadFailedException(string uri, string message, Exception innerException)
            : base(message, innerException)
        {
            this.uri = uri;
        }

        public XemlComponentLoadFailedException(string uri, string message)
            : this(message)
        {
            this.uri = uri;
        }

        public XemlComponentLoadFailedException(string message)
            : base(message)
        {
        }
    }
}
